package com.ahora.org.ejb.facade.impl;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import com.ahora.org.ejb.dao.interfaces.PersonaDAO;
import com.ahora.org.ejb.facade.interfaces.PersonaFacade;
import com.ahora.org.ejb.jpa.beans.GenericoBean;
import com.ahora.org.ejb.jpa.beans.PersonaDTO;
import com.ahora.org.ejb.jpa.beans.RequisitoProcesosDTO;
import com.ahora.org.ejb.jpa.entities.DetalleCupexRequisito;
import com.ahora.org.ejb.jpa.entities.Persona;
import com.ahora.org.ejb.jpa.entities.TipoDocumentoIdentidad;
import com.ahora.org.ejb.jpa.entities.Ubigeo;
@Stateless
public class PersonaFacadeBean implements PersonaFacade {
	
	@EJB
	private PersonaDAO objPersonaDao;
	
	@Override
	public String insertar(Persona entPersona, String codigoProceso,ArrayList<RequisitoProcesosDTO> lstdetalleProcesoRequisito) {
		return objPersonaDao.insertar(entPersona, codigoProceso, lstdetalleProcesoRequisito);
	}

	@Override
	public Persona buscarPersona(String dni) throws Exception {
		return objPersonaDao.buscarPersona(dni);
	}

	@Override
	public void insertarRequisito(DetalleCupexRequisito entity) {
		objPersonaDao.insertarRequisito(entity);
	}

	@Override
	public List<TipoDocumentoIdentidad> listarTiposDocumentos(){
		return objPersonaDao.listarTiposDocumentos();
	}

	@Override
	public List<GenericoBean> listDepartamentos() {
		return objPersonaDao.listDepartamentos();
	}

	@Override
	public List<Ubigeo> listaUbigeo() {
		return objPersonaDao.listaUbigeo();
	}

	@Override
	public Persona buscarDniPasap(Persona objPersonaDTO) {
		return objPersonaDao.buscarDniPasap(objPersonaDTO);
	}

	@Override
	public String insertarPersona(Persona objPersona) {
		return objPersonaDao.insertarPersona(objPersona);
	}

	@Override
	public Persona logeoPersona(Persona objPersonaDTO) {
		return objPersonaDao.logeoPersona(objPersonaDTO);
	}

	@Override
	public String modificarPersona(Persona objPersona, String nuevaCLave) {
		return objPersonaDao.modificarPersona(objPersona, nuevaCLave);
	}

	@Override
	public String completarRegistro(int codExp,	List<RequisitoProcesosDTO> lstdetalleProcesoRequisito) {
		return objPersonaDao.completarRegistro(codExp, lstdetalleProcesoRequisito);
	}

	@Override
	public String recuperarContrasenia(Persona objPersona) {
		return objPersonaDao.recuperarContrasenia(objPersona);
	}

	@Override
	public String nombresCompletos() throws Exception {
		return objPersonaDao.nombresCompletos();
	}

	@Override
	public List<PersonaDTO> listarUsuariosExternosBloqueados() {
		return objPersonaDao.lstUsuariosExternosBloqueados();
	}

	@Override
	public String actualizarEstadoPersona(int idPersona,
			int idEstadoDeclaracionJurada, String observacion) {
		return objPersonaDao.actualizarEstadoPersona(idPersona, idEstadoDeclaracionJurada, observacion);
	}

	@Override
	public int validarLogeoPersona(Persona objPersonaDTO) {
		return objPersonaDao.validarLogeoPersona(objPersonaDTO);
	}

	@Override
	public int validarEmail(String email, String emailAlterno) {
		return objPersonaDao.validarEmail(email, emailAlterno);
	}

}
